home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 85 / CD Temático 40 Febrero 2004.iso / DOS / testdisk / src / dir.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-01-02  |  2.4 KB  |  69 lines

  1. typedef struct dir_data t_dir_data;
  2. typedef struct file_data t_file_data;
  3. #define DIR_NAME_LEN 255
  4. struct dir_data
  5. {
  6.   WINDOW *window;
  7.   t_file_data *(*get_dir)(t_param_disk *disk_car, const t_diskext *partition, t_dir_data *dir_data, const unsigned long int first_inode);
  8.   int debug;
  9.   void *private_dir_data;
  10.   char current_directory[DIR_NAME_LEN];
  11. };
  12.  
  13. struct file_data
  14. {
  15.   t_file_data *prev;
  16.   t_file_data *next;
  17.   char    name[DIR_NAME_LEN];
  18.   struct stat filestat;
  19. };
  20.  
  21. void dir_aff_log(const t_param_disk *disk_car, const t_diskext *partition, const t_dir_data *dir_data, const t_file_data*dir_list);
  22. long int dir_aff(t_param_disk *disk_car, const t_diskext *partition, t_dir_data *dir_data, const t_file_data*dir_list, const unsigned long int inode);
  23. void delete_list_file(t_file_data *file_list);
  24. int dir_partition(t_param_disk *disk_car, const t_diskext *partition, t_dir_data *dir_data, const unsigned long int inode);
  25.  
  26. #define LINUX_S_IFMT  00170000
  27. #define LINUX_S_IFSOCK 0140000
  28. #define LINUX_S_IFLNK    0120000
  29. #define LINUX_S_IFREG  0100000
  30. #define LINUX_S_IFBLK  0060000
  31. #define LINUX_S_IFDIR  0040000
  32. #define LINUX_S_IFCHR  0020000
  33. #define LINUX_S_IFIFO  0010000
  34. #define LINUX_S_ISUID  0004000
  35. #define LINUX_S_ISGID  0002000
  36. #define LINUX_S_ISVTX  0001000
  37.  
  38.  
  39. #define LINUX_S_IRWXU 00700
  40. #define LINUX_S_IRUSR 00400
  41. #define LINUX_S_IWUSR 00200
  42. #define LINUX_S_IXUSR 00100
  43.  
  44. #define LINUX_S_IRWXG 00070
  45. #define LINUX_S_IRGRP 00040
  46. #define LINUX_S_IWGRP 00020
  47. #define LINUX_S_IXGRP 00010
  48.  
  49. #define LINUX_S_IRWXO 00007
  50. #define LINUX_S_IROTH 00004
  51. #define LINUX_S_IWOTH 00002
  52. #define LINUX_S_IXOTH 00001
  53.  
  54. #define LINUX_S_IRWXUGO       (LINUX_S_IRWXU|LINUX_S_IRWXG|LINUX_S_IRWXO)
  55. #define LINUX_S_IALLUGO       (LINUX_S_ISUID|LINUX_S_ISGID|LINUX_S_ISVTX|LINUX_S_IRWXUGO)
  56. #define LINUX_S_IRUGO         (LINUX_S_IRUSR|LINUX_S_IRGRP|LINUX_S_IROTH)
  57. #define LINUX_S_IWUGO         (LINUX_S_IWUSR|LINUX_S_IWGRP|LINUX_S_IWOTH)
  58. #define LINUX_S_IXUGO         (LINUX_S_IXUSR|LINUX_S_IXGRP|LINUX_S_IXOTH)
  59.  
  60. #define LINUX_S_ISLNK(m)        (((m) & LINUX_S_IFMT) == LINUX_S_IFLNK)
  61. #define LINUX_S_ISREG(m)        (((m) & LINUX_S_IFMT) == LINUX_S_IFREG)
  62. #define LINUX_S_ISDIR(m)        (((m) & LINUX_S_IFMT) == LINUX_S_IFDIR)
  63. #define LINUX_S_ISCHR(m)        (((m) & LINUX_S_IFMT) == LINUX_S_IFCHR)
  64. #define LINUX_S_ISBLK(m)        (((m) & LINUX_S_IFMT) == LINUX_S_IFBLK)
  65. #define LINUX_S_ISFIFO(m)       (((m) & LINUX_S_IFMT) == LINUX_S_IFIFO)
  66. #define LINUX_S_ISSOCK(m)       (((m) & LINUX_S_IFMT) == LINUX_S_IFSOCK)
  67.  
  68.  
  69.